perm filename ROMLIG.MF[1,3] blob sn#549043 filedate 1980-12-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00007 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	"The ligature ff"
C00003 00003	"The ligature fi"
C00004 00004	"The ligature fl"
C00005 00005	"The ligature ft"
C00007 00006	"The ligature ffi"
C00009 00007	"The ligature ffl"
C00011 ENDMK
C⊗;
"The ligature ff";
call charbegin('173,10,0,0,ph,0,ph.slant+pwiii+.25pu);
hpen; x1=good1 2.5u; x3=good1(r-2.5u);
if w0=w1: lft3x2=round 4.75u; x4-x3=x2-x1;
else: rt3x2=round(lft1x3-.167u); lft3x4=round(r-.25u);
	if lft3x2<4.75u: new x2; lft3x2=round 4.75u;
	fi;
fi;
cpen; top3y2=.8[m,h]; y4=y2;
call `a fstroke(2,1);	% left bulb, shoulder, stem, and serif
call `b fstroke(4,3);	% right bulb, shoulder, stem, and serif
hpen; lft0x5=lft1x1-1.5u-eps; rt0x6=rt1x3+1.5u+eps; top0y5=m; y6=y5;
w0 draw 5..6.	% bar link
lig `f: `i = '174, `f = '173, `l = '175, `t = '044;
"The ligature fi";
call charbegin('174,10,0,2sc,ph,0,ph.slant+.5pwi+(2sc-2)pu);
hpen; x1=good1 2.5u; x3=x4=good1(r-2.5u);
rt3x2=rt1x3;
cpen; top3y2=.8[m,h];
call `a fstroke(2,1);	% bulb, shoulder, left stem, left serif
hpen; top0y4=m+ssdoo; bot0y3=0; w1 draw 3..4;	% right stem
lft0x5=lft1x1-1.5u-eps; x6=x3; top0y5=m+ssdoo-ssd; y6=y5;
if lcs≠0: call `b serif(3,1,4,-lcs);
	call `c serif(3,1,4,lcs);	% right serif
	call `d sserif(4,1,3,-lcs);	% upper right serif (mostly hidden)
fi;	% this is the ligature we're drawing
w0 draw 5..6.	% bar link
"The ligature fl";
call charbegin('175,10,0,2sc,ph,0,ph.slant+.5pwi+(2sc-2)pu);
hpen; x1=good1 2.5u; x3=x4=good1(r-2.5u); rt0x7=rt1x4;
rt3x2=rt1x3;
cpen; top3y2=.85[m,h];
call `a fstroke(2,1);	% bulb, shoulder, left stem, left serif
hpen; y4=y2; top0y7=h; bot0y3=0; w1 draw 3..4;	% right stem
y8=y4; x8=x7;
w0 ddraw 7..2, 8..2;	% tip
lft0x5=lft1x1-1.5u-eps; x6=x3; top0y5=m; y6=y5;
w0 draw 5..6;	% bar link
if lcs≠0: call `b serif(3,1,4,-lcs);
	call `c serif(3,1,4,lcs);	% right serif
fi.
"The ligature ft";
call charbegin('044,13,0,0,ph,0,px.slant+.5pwi-2pu);
if px-pe<.75(ph-px): y1=2m-e;
else: y1=.75[m,h];
fi;
hpen; x1=x2=good1(r-4.5u); top0y2=m-o;
if w0=w1: w1 draw 1..2;	% upper terminal
else: rt1x1=rt0x3; lft0x4=lft1x1-u-eps; y4=y5=y2; y3=y1; x5=x3;
	w0 ddraw 4{1,0}..3{0,1}, 4..5;	% left and upper terminals
fi;
rt0x7=rt1x1+2u+eps; top0y7=m-o;
x8=x1; bot0y8=.5e; w1 draw 2..8;	% stem
if pw>1.75pu: bot0y9=0; x9=r-2.5u; rt0x10=r-.25u; x21=r+u; y21=e;
	new aa; x10=aa[x9,x21]; y10=(sqrt(1-aa.aa))[y21,y9]; 
	w0 draw 9{1,0}..10(..21);	% hook
else: bot0y9=-oo; y10=.8 e; x9=.5[x8,x10]; x10=good0(r-.75u);
	w0 draw 9{1,0}..10{0,1};	% hook
fi;
call `a arc(9,8,w1);	% link
x11=good1 2.5u; lft3x12=round 4.25u;
cpen; top3y12=.8[m,h];
call `b fstroke(12,11);	% left bulb, shoulder, stem, and serif
hpen; lft0x15=lft1x11-1.5u-eps; top0y15=m-o;
w0 draw 15..7.	% bar link
"The ligature ffi";
call charbegin('176,15,0,2sc,ph,0,ph.slant+.5pwi+(2sc-2)pu);
hpen; x1=good1 2.5u; x3=good1 .5r;
x5-x3=x4-x2=x3-x1; x6=x5=x9; y2=y4=y6;
cpen; top3y2=.8[m,h]; rt3x4=rt1x6;
call `a fstroke(2,1);	% left bulb, shoulder, stem, and serif
call `b fstroke(4,3);	% right bulb and shoulder, middle stem and serif
hpen; top0y9=m+ssdoo; bot0y5=0; w1 draw 5..9;	% right stem
lft0x7=lft1x1-1.5u-eps; x8=x5; top0y7=m+ssdoo-ssd; y8=y7;
if lcs≠0: call `c serif(5,1,9,-lcs);
	call `d serif(5,1,9,lcs);	% right serif
	call `e sserif(9,1,5,-lcs);	% upper right serif (mostly hidden)
fi;
w0 draw 7..8.	% bar link
lig '173: `i = '176, `l = '177;
"The ligature ffl";
call charbegin('177,15,0,2sc,ph,0,ph.slant+.5pwi+(2sc-2)pu);
hpen; x1=good1 2.5u; x3=good1 .5r;
x5-x3=x4-x2=x3-x1; x6=x5=x9; y2=y4=y6; rt0x11=rt1x9;
cpen; top3y2=.85[m,h]; rt3x4=rt1x6;
call `a fstroke(2,1);	% left bulb, shoulder, stem, and serif
call `b fstroke(4,3);	% right bulb and shoulder, middle stem and serif
hpen;  y9=y4; top0y11=h; bot0y5=0; w1 draw 5..9;	% right stem
y12=y4; x12=x11;
w0 ddraw 11..4, 12..4;	% tip
lft0x7=lft1x1-1.5u-eps; x8=x5; top0y7=m; y8=y7;
w0 draw 7..8;	% bar link
if lcs≠0: call `c serif(5,1,6,-lcs);
	call `d serif(5,1,6,lcs);	% right serif
fi.